$(document).ready(function() {
	moment.locale("zh-cn");
	window.currentpage = 1;
	ready();
	
});

function ready() {
	queryUserInfo(1);//查询第一页
	//绑定事件
	bind();
	//表单校验
	check();
	showUserName();
}

function initDormLocation() {
	$.ajax({
		url:"/dormms/admin/queryAllDormNo",
        type:"post",
        success:function(data){
        	console.log(data);
        	for(var i=0; i<data.length; i++){
        		$("#insertDormId").append("<option value="+ data[i].dormId+">"+data[i].dormName+"</option>");
        	}
        }
	});
}

function bind() {
	$("#pageSize").bind("change",function(){
		queryUserInfo(window.currentpage);
	});
	$("#searchProclamationByProclamationTitle").bind("click",function(){
		window.currentpage = 1;
		queryUserInfo(window.currentpage);
	});
	$('#addDormModal').on('hide.bs.modal', function (){
		$("#insertDormName").val("");
		$("#insertDormNum").val("");
		$("#insertDormName-error").remove();
		$("#insertDormNum-error").remove();
	});
	$('#addStuDormModal').on('show.bs.modal', function (){
		initDormLocation();
	});
	$('#addStuDormModal').on('hide.bs.modal', function (){
		$("#insertDormId").val("");
		$("#insertStuId").val("");
		$("#insertDormId-error").remove();
		$("#insertStuId-error").remove();
		$("#insertDormId option").remove();
	});
	$('#updateDormModal').on('hide.bs.modal', function (){
		$("#updateDormId").val("");
		$("#updateDormName").val("");
		$("#updateDormId-error").remove();
		$("#updateDormName-error").remove();
		$("#updateDormNum").val("");
		$("#updateDormNum-error").remove();
	});
	$('#getDormAdminInfoModal').on('hide.bs.modal', function (){
		$("#getDormAdminId").val("");
		$("#getDormAdminName").val("");
		$("#getDormAdminBirthday").val("");
		$("#getDormAdminSex").val("");
		$("#getDormAdminTel").val("");
		$("#getDormAdminId-error").remove();
		$("#getDormAdminName-error").remove();
		$("#getDormAdminBirthday-error").remove();
		$("#getDormAdminSex-error").remove();
		$("#getDormAdminTel-error").remove();
	});
	$('#updatePasswordModel').on('hide.bs.modal', function (){
		$("#oldPassword").val("");
		$("#password").val("");
		$("#password_again").val("");
		$("#oldPassword-error").remove();
		$("#password-error").remove();
		$("#password_again-error").remove();
	});
}

function check(){
	addCheck();
	addAdminCheck();
	updateCheck();
	updateInfoCheck();
	updatePasswordCheck();
}


function addCheck(){
	//添加校验
	$("#addDorm").validate({
		rules:{
			insertDormName:{
				required:true,
			},
			insertDormNum:{
				required:true,
				digits:true
			}
		},
		messages:{
			insertDormName:{
				required:"请输入宿舍名",
			},
			insertDormNum:{
				required:"请输入内容",
				digits:"请输入数字"
			}
		},
		submitHandler:function(form){
			var dormName = $("#insertDormName").val();
			var dormNum = $("#insertDormNum").val();
			$.ajax({
				type:'post',
				url:'insertDorm',
				data:{"dormName":dormName,"dormNum":dormNum},
				success:function(data){
					queryUserInfo(window.currentpage);
				},
				error:function(){
					console.log("1");
				}
			});
			$('#addDormModal').modal('hide');
		},
		invalidHandler: function(form, validator) {return false;}
	})
}

function addAdminCheck(){
	$("#addStuDorm").validate({
		rules:{
			insertDormId:{
				required:true,
			},
			insertStuId:{
				required:true,
			}
		},
		messages:{
			insertDormId:{
				required:"请选择公告",
			},
			insertStuId:{
				required:"请选择角色",
			}
		},
		submitHandler:function(form){
			var dormId = $("#insertDormId").val();
			var stuId = $("#insertStuId").val();
			$.ajax({
				type:'post',
				url:'insertStuDorm',
				data:{"dormId":dormId,"stuId":stuId},
				success:function(data){
					queryUserInfo(window.currentpage);
				},
				error:function(){
					console.log("1");
				}
			});
			$('#addStuDormModal').modal('hide');
		},
		invalidHandler: function(form, validator) {return false;}
	})
}

function updateCheck(){
	//修改校验
	$("#updateDorm").validate({
		rules:{
			updateDormId:{
				required:true,
			},
			updateDormName:{
				required:true,
			},
			updateDormNum:{
				required:true,
			},
		},
		messages:{
			updateDormId:{
				required:"请输入编号",
			},
			updateDormName:{
				required:"请输入标题",
			},
			updateProclamationDescr:{
				required:"请输入内容",
			}
		},
		submitHandler:function(form){
			var dormId = $("#updateDormId").val();
			var dormName = $("#updateDormName").val();
			var dormNum = $("#updateDormNum").val();
			$.ajax({
				type:'post',
				url:'updateDorm',
				data:{"dormId":dormId,"dormName":dormName,"dormNum":dormNum},
				success:function(data){
					queryUserInfo(window.currentpage);
				},
				error:function(){
					console.log("1");
				}
			});
			$('#updateDormModal').modal('hide');
		},
		invalidHandler: function(form, validator) {return false;}
	})
}

function updatePasswordCheck(){
	$("#updatePassword").validate({
		rules:{
			oldPassword:{
				required:true
			},
			password:{
				required:true
			},
			password_again:{
				required:true,
				equalTo: "#password"
			}
		},
		messages:{
			oldPassword:{
				required:"请输入旧密码"
			},
			password:{
				required:"请输入新密码"
			},
			password_again:{
				required:"请输入新密码",
				equalTo: "两次输入不相同"
			}
		},
		submitHandler:function(form){
			var oldPassword = $("#oldPassword").val();
			var password = $("#password").val();
			$.ajax({
				type:'post',
				url:'updatePassword',
				data:{"oldPassword":oldPassword,"password":password},
				success:function(data){
				},
				error:function(){
					console.log("1");
				}
			});
			$('#updatePasswordModel').modal('hide');
		},
		invalidHandler: function(form, validator) {return false;}
	})
}

function updateInfoCheck(){
	$("#getDormAdminInfo").validate({
		rules:{
			getDormAdminName:{
				required:true
			},
			getDormAdminSex:{
				required:true
			}
		},
		messages:{
			getDormAdminName:{
				required:"请输入姓名"
			},
			getDormAdminSex:{
				required:"请选择性别"
			}
		},
		submitHandler:function(form){
			var dormAdminId = $("#getDormAdminId").val();
			var dormAdminName = $("#getDormAdminName").val();
			var dormAdminSex = $("#getDormAdminSex").val();
			var dormAdminBirthday = new Date($("#getDormAdminBirthday").val());
			var dormAdminTel = $("#getDormAdminTel").val();
			$.ajax({
				type:'post',
				url:'updateDormAdminInfo',
				data:{"dormAdminId":dormAdminId,"dormAdminName":dormAdminName,"dormAdminSex":dormAdminSex,"dormAdminBirthday":dormAdminBirthday,"dormAdminTel":dormAdminTel},
				success:function(data){
				},
				error:function(){
					console.log("1");
				}
			});
			$('#getDormAdminInfoModal').modal('hide');
		},
		invalidHandler: function(form, validator) {return false;}
	})
}

function queryUserInfo(page){
	var currPage = page;
	var pageSize = $("#pageSize").val();
	var dormName = $("#dormName").val();
	$.ajax({
		url:"/dormms/admin/queryDormListByPage",
        type:"post",
        data:{"currPage":currPage,"pageSize":pageSize,"dormName":dormName},
        success:function(data){
        	console.log(data);
        	$("#dormInfoList").empty();
        	$("#total").text("共有"+data.total+"条记录");
        	var status = ["未入住","未住满","已住满"];
        	for(var i=0; i<data.list.length; i++){
        		 var trTemp = $("<tr></tr>");
        		 //trTemp.append("<td>"+ "<input type='checkbox' name='selectStu' value='" + data.list[i].stuId + "'></td>");
        		 trTemp.append("<td>"+ data.list[i].dormId +"</td>");
        		 trTemp.append("<td>"+ data.list[i].dormName +"</td>");
        		 trTemp.append("<td>"+ data.list[i].dormNum +"</td>");
        		 trTemp.append("<td>"+ status[data.list[i].dormStatus-1] +"</td>");
        		 trTemp.append("<td>" + "<button type='button' class='btn btn-outline-success btn-sm' onclick='getDormAdminInfoGet(this)'>查看</button>" 
        				 +"<button type='button' class='btn btn-outline-primary btn-sm' onclick='getDormAdminInfoUpdate(this)'>修改</button>" 
        				 + "<button type='button' class='btn btn-outline-primary btn-sm' onclick='delteDormInfo(this)'>删除</button>"
        				 + "</td>");
        		 trTemp.appendTo("#dormInfoList");
        	}
        	queryUserRoleByPage(data);
        }
	});
}

function queryUserRoleByPage(data) {
	var options = {
			bootstrapMajorVersion: 3,
			currentPage: data.pageNum,
            totalPages: data.pages,
            numberofPages: 5,
            itemTexts: function(type, page, current) { //修改显示文字
                switch (type) {
                case "first":
                    return "&laquo;";
                case "prev":
                    return "&lt;";
                case "next":
                    return "&gt;";
                case "last":
                    return "&raquo;";
                case "page":
                    return page;
                }
            },
            onPageClicked: function (event, originalEvent, type, page) { //异步换页
            	queryUserInfo(page);
            	window.currentpage=page;
            },
	};
	$('#page').bootstrapPaginator(options); 
}


//获取当前行数据(修改)
function getDormAdminInfoUpdate(obj) {
	var x = $(obj).parent().parent().find("td");
	var dormAdmininfo = x.eq(0).text();
	$.ajax({
		url:"queryStuDormInfoByDormId",
		type:"get",
		data:{'dormId':dormAdmininfo},
		success:function(data){
			console.log(data);
			$("#updateDormId").val(data.dorm.dormId);
			$("#updateDormName").val(data.dorm.dormName);
			$("#updateDormNum").val(data.dorm.dormNum);
			$("#updateStuList").empty();
        	for(var i=0; i<data.stuInfos.length; i++){
        		 var trTemp = $("<tr></tr>");
        		 trTemp.append("<td>"+ data.stuInfos[i].stuId +"</td>");
        		 trTemp.append("<td>"+ data.stuInfos[i].stuName +"</td>");
        		 if(data.stuInfos[i].stuTel!=null){
        			 trTemp.append("<td>"+ data.stuInfos[i].stuTel +"</td>");
        		 }else{
        			 trTemp.append("<td></td>");
        		 }
        		 trTemp.append("<td><button type='button' class='btn btn-outline-danger btn-sm' onclick='deleteStuDorm(this)'>删除</button></td>");
        		 trTemp.appendTo("#updateStuList");
        	}
			$('#updateDormModal').modal('show');
		}
	});
}
//获取当前行数据(查看)
function getDormAdminInfoGet(obj) {
	var x = $(obj).parent().parent().find("td");
	var dormAdmininfo = x.eq(0).text();
	$.ajax({
		url:"queryStuDormInfoByDormId",
		type:"get",
		data:{'dormId':dormAdmininfo},
		success:function(data){
			console.log(data);
			$("#getDormId").val(data.dorm.dormId);
			$("#getDormName").val(data.dorm.dormName);
			$("#getDormNum").val(data.dorm.dormNum);
			$("#getStuList").empty();
        	for(var i=0; i<data.stuInfos.length; i++){
        		 var trTemp = $("<tr></tr>");
        		 trTemp.append("<td>"+ data.stuInfos[i].stuId +"</td>");
        		 trTemp.append("<td>"+ data.stuInfos[i].stuName +"</td>");
        		 if(data.stuInfos[i].stuTel!=null){
        			 trTemp.append("<td>"+ data.stuInfos[i].stuTel +"</td>");
        		 }else{
        			 trTemp.append("<td></td>");
        		 }
        		 trTemp.appendTo("#getStuList");
        	}
			$('#getDormModal').modal('show');
		}
	});
}

//删除宿舍
function delteDormInfo(obj){
	var x = $(obj).parent().parent().find("td");
	var dormId = x.eq(0).text();
	$.ajax({
		url:"deleteDormInfo",
		type:"get",
		data:{'dormId':dormId},
		success:function(data){
			queryUserInfo(window.currentpage);
		}
	});
}

function deleteStuDorm(obj){
	var x = $(obj).parent().parent().find("td");
	var stuId = x.eq(0).text();
	var dormId = $("#updateDormId").val();
	$.ajax({
		url:"deleteStuDormInfo",
		type:"get",
		data:{'dormId':dormId,"stuId":stuId},
		success:function(data){
			var dormId = $("#updateDormId").val();
			$.ajax({
				url:"queryStuDormInfoByDormId",
				type:"get",
				data:{'dormId':dormId},
				success:function(data){
					console.log(data);
					$("#updateDormId").val(data.dorm.dormId);
					$("#updateDormName").val(data.dorm.dormName);
					$("#updateDormNum").val(data.dorm.dormNum);
					$("#updateStuList").empty();
		        	for(var i=0; i<data.stuInfos.length; i++){
		        		 var trTemp = $("<tr></tr>");
		        		 trTemp.append("<td>"+ data.stuInfos[i].stuId +"</td>");
		        		 trTemp.append("<td>"+ data.stuInfos[i].stuName +"</td>");
		        		 if(data.stuInfos[i].stuTel!=null){
		        			 trTemp.append("<td>"+ data.stuInfos[i].stuTel +"</td>");
		        		 }else{
		        			 trTemp.append("<td></td>");
		        		 }
		        		 trTemp.append("<td><button type='button' class='btn btn-outline-danger btn-sm' onclick='deleteStuDorm(this)'>删除</button></td>");
		        		 trTemp.appendTo("#updateStuList");
		        	}
					$('#updateDormModal').modal('show');
				}
			});
		}
	});
}


function showDormAdminInfoModal() {
	$.ajax({
		url:"getDormAdminInfo",
		type:"get",
		success:function(data){
			console.log(data);
			$("#getDormAdminId").val(data.dormAdminId);
			$("#getDormAdminName").val(data.dormAdminName);
			$("#getDormAdminSex").val(data.dormAdminSex);
			if(data.dormAdminBirthday!=null){
				$("#getDormAdminBirthday").val(moment(data.dormAdminBirthday).format('L'));
			}else{
				$("#getDormAdminBirthday").val("");
			}
			$("#getDormAdminTel").val(data.dormAdminTel);
			$("#getDormAdminParentTel").val(data.dormAdminParentTel);
			$('#getDormAdminInfoModal').modal('show');
		}
	});
}

function showPasswordModel() {
	$('#updatePasswordModel').modal('show');
}

function showUserName() {
	$.ajax({
		url:"getDormAdminInfo",
		type:"get",
		success:function(data){
			$("#userName").text(data.dormAdminName);
		}
	});
}
